package com.wlc.io;

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

/**
 * @author 王立朝
 * @date 2022/3/1
 * @description:
 */
public class FileDemo01 {

    /**
     * @Author：
     * @Description：获取某个目录下所有直接下级文件，不包括目录下的子目录的下的文件，所以不用递归获取
     * @Date：
     */
    public static List<File> getFiles(String path) {
        List<File> files =new ArrayList<>();
        //File file = new File(path);
        //File[] tempList = file.listFiles();

//        for (int i = 0; i < tempList.length; i++) {
//            if (tempList[i].isFile()&&tempList[i].getName().contains("2020")) {
//                files.add(tempList[i].toString());
//                //文件名，不包含路径
//                //String fileName = tempList[i].getName();
//            }
//            if (tempList[i].isDirectory()) {
//                //这里就不递归了，
//                //getFiles(tempList[i].getPath());
//            }
//        }

        File[] listFiles = new File(path).listFiles();
        if (Objects.nonNull(listFiles)) {
            files = Arrays.stream(listFiles).filter(f -> f.getName().endsWith(".txt")).collect(Collectors.toList());
        }
        return files;
    }

    public static void main(String[] args) {
        List<File> files = getFiles("/Users/wanglichao/Desktop/temp/upload/test");
        files.stream().forEach(System.out::println);
    }
}
